<?php
// 引入MODEL层中的方法
require_once($CONFIG['X']['pro']['demo'].'/index/M/IndexModel.php');

use APP\demo\index\M\IndexModel;
use Lib\PdoDb\PdoDb;
use Lib\Util\Util;

/**
 * Index  测试用例 Controller 层
 * 
 * 主要用于创建新的项目时使用
 * 
 * @author: Xialj
 * @date: 2019-08-24 23:46:18
 * @version: v1.0
 * @email: m17269@163.com
 */
class IndexController
{

    private $arRequest = null;
    private $IndexDb = null;
    /**
     * 注意构造方法不能丢，先获取内容，可以添加，不能删除，推荐初始化参数
     */
    public function __construct($arRequest)
    {
        $this->arRequest = $arRequest;
        $this->IndexDb = new IndexModel();
    }
    // ===========以上就这样写，下面的就是自己需要的方法=============

    public function display()
    {
        echo '<h1>hello word!</h1><p><h1>欢迎使用</h1></p><pre>';
        var_dump($this->arRequest);

    }

    // 测试数据库连接函数
    public function dbTest()
    {
        global $CONFIG;
        $res = $this->IndexDb->test();
        if(!$res){
            $var = [
                'code' => $CONFIG['others']['code']['successCode'],
                'msg' => '无数据'
            ];
            Util::send($var);
        }
        Util::send($res);
    }

    // 测试数据库执行语句
    public function dbTest1()
    {
        global $CONFIG;
        
        $res = $this->IndexDb->test1();
        if (!$res) {
            $var = [
                'code' => $CONFIG['others']['dBCode']['connectErrorCode'],
                'msg' => 'SQL 语句执行失败',
                // 'sql' => $sql,
            ];
            Util::send($var);
        } else {
            $row = $res->fetch(PDO::FETCH_ASSOC);
            $var = [
                'code' => $CONFIG['others']['code']['successCode'],
                'msg' => '插入成功',
                'data' => $row,
            ];
            Util::send($var);
        }
    }

    // 测试数据库预处理语句
    public function dbTest2()
    {
        global $CONFIG;
        
        $res = $this->IndexDb->test2();
        if (!$res) {
            
            $var = [
                'code' => $CONFIG['others']['dBCode']['connectErrorCode'],
                'msg' => 'SQL 语句执行失败' ,
                'error' => $this->IndexDb->getErrorInfo(),
            ];
            Util::send($var);
        } else {
            $row = $res->fetch(PDO::FETCH_ASSOC);
            $var = [
                'code' => $CONFIG['others']['code']['successCode'],
                'msg' => '插入成功',
            ];
            Util::send($var);
        }
    }
}
